Skip to content

Conversation

@fingolfin
Copy link
Member

When building tests on master, we normally let all of them complete not just the latest one, as that helps with pinpointing caused by merging PRs in parallel that then interact badly.

But for the documentation job this is problematic: it can happen that we merge multiple PRs simultaneously, resulting in multiple concurrent CI jobs running on `master``. But the Docu job for the last merged PR may not be the last to finish.

In that case, the job which actually finishes last "wins" and pushes its version of the documentation. As a result, the documentation does not reflect any changes from the last merged PRs (and possibly more).

Even with the changes in this PR, there is still a problem when a PR CI job pushes a docs preview in concurrency to a CI job on master updating the docs.

When building tests on master, we normally let *all* of
them complete not just the latest one, as that helps with
pinpointing caused by merging PRs in parallel that then
interact badly.

But for the documentation job this is problematic: it can
happen that we merge multiple PRs simultaneously, resulting
in multiple concurrent CI jobs running on `master``. But the
Docu job for the last merged PR may not be the last to
finish.

In that case, the job which actually finishes last "wins"
and pushes its version of the documentation. As a result,
the documentation does not reflect any changes from the last
merged PRs (and possibly more).

Even with the changes in this PR, there is still a problem
when a PR CI job pushes a docs preview in concurrency to a
CI job on master updating the docs.
@fingolfin fingolfin added CI release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Nov 9, 2025
@lgoettgens
Copy link
Member

Given that the documentation job only needs about 4-5 minutes, we could even try to disallow concurrent jobs from different branches, i.e. they would run sequentially in the order the jobs were requested. I think combining this together with just canceling intermediate jobs on PR branches (but not on master), would give us the same results as right now, but without the race conditions, and hopefully also without an enormous backlog in the job queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants